/* by  yuechenglin */
// import wx from 'weixin-js-sdk';
function sendAjax (option) {
  var time = new Date().valueOf()
  var odata = option.data.data

  option = Object.assign({
    async: true,
    dataType: 'text',
    success: function () {
    },
    error: function () {
    },
    data: {
      data: JSON.stringify(odata)
    },
    type: 'get'
  }, option)

  var req = new XMLHttpRequest()
  option.url += '?'
  var fd = new FormData()
  for (var key in option.data) {
    if (option.type === 'post') {
      fd.append(key, option.data[key])
    } else {
      option.url += key + '=' + option.data[key] + '&'
    }
  }
  // alert('前'+JSON.stringify(option));
  req.open(option.type.toUpperCase(), option.url, option.async)

  req.responseType = option.dataType
  req.onerror = function () {
    option.error(req.response)
  }
  req.onload = function () {
    var res = req.response
    if (option.dataType === 'json' && typeof res === 'string') {
      res = JSON.parse(res)
    }
    option.success(res)
  }
  req.send(fd)
}
// 区分sourceFlag字段
function wxShare (shareConfig) {
  var u = navigator.userAgent
  var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1
  var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
  // 微信
  var localUrl = window.location.href.split('#')[0]
  sendAjax({
    url: '//m.jxedt.com/wx/signUrl',
    // url: 'http://jledtcoachapi.58v5.cn/wcard/sign',
    // url: 'http://10.252.247.184:8080/wx/signUrl',
    type: 'post',
    data: {
      url: localUrl,
      bid: '2'
    },
    dataType: 'json',
    success: function (res) {
      console.log('res', JSON.stringify(res))
      console.log('shareConfig.link', shareConfig.link)
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
        appId: res.result.appId, // 必填，公众号的唯一标识
        timestamp: res.result.timestamp, // 必填，生成签名的时间戳
        nonceStr: res.result.noncestr, // 必填，生成签名的随机串
        signature: res.result.signature, // 必填，签名
        jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'hideMenuItems', 'updateAppMessageShareData', 'updateTimelineShareData']
      })
      wx.ready(function () {
        // 禁掉qq
        wx.hideMenuItems({
          menuList: ['menuItem:share:qq', 'menuItem:share:QZone', 'menuItem:openWithQQBrowser', 'menuItem:openWithSafari', 'menuItem:openWithQQBrowser', 'menuItem:share:weiboApp']
        })
        // config信息验证后会执行ready方法，所有接口调用都必须在config接口获得结果之后，config是一个客户端的异步操作，所以如果需要在页面加载时就调用相关接口，则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口，则可以直接调用，不需要放在ready函数中。
        // 朋友
        wx.onMenuShareAppMessage({
          title: shareConfig.title, // 分享标题
          desc: shareConfig.desc, // 分享描述
          link: shareConfig.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: shareConfig.imgUrl, // 分享图标
          type: '', // 分享类型,music、video或link，不填默认为link
          dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
          success: function () {
            // 用户点击了分享后执行的回调函数
          }
        })
        // 朋友圈
        wx.onMenuShareTimeline({
          title: shareConfig.title, // 分享标题
          link: shareConfig.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: shareConfig.imgUrl, // 分享图标
          success: function () {
            // 用户点击了分享后执行的回调函数
          }
        })
        // // QQ
        // wx.onMenuShareQQ({
        //     title: shareConfig.title, // 分享标题
        //     desc: shareConfig.desc, // 分享描述
        //     link: shareConfig.link, // 分享链接
        //     imgUrl: shareConfig.imgUrl, // 分享图标
        //     success: function () {
        //     // 用户确认分享后执行的回调函数
        //     },
        //     cancel: function () {
        //     // 用户取消分享后执行的回调函数
        //     }
        // });
        // // QQ空间
        // wx.onMenuShareQZone({
        //     title: shareConfig.title, // 分享标题
        //     desc: shareConfig.desc, // 分享描述
        //     link: shareConfig.link, // 分享链接
        //     imgUrl: shareConfig.imgUrl, // 分享图标
        //     success: function () {
        //     // 用户确认分享后执行的回调函数
        //     },
        //     cancel: function () {
        //     // 用户取消分享后执行的回调函数
        //     }
        // });

        wx.updateAppMessageShareData({
          title: shareConfig.title, // 分享标题
          desc: shareConfig.desc, // 分享描述
          link: shareConfig.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: shareConfig.imgUrl, // 分享图标
          type: '', // 分享类型,music、video或link，不填默认为link
          dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
          success: function () {
            // 用户点击了分享后执行的回调函数
          }
        })

        wx.updateTimelineShareData({
          title: shareConfig.title, // 分享标题
          link: shareConfig.link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
          imgUrl: shareConfig.imgUrl, // 分享图标
          success: function () {
            // 用户点击了分享后执行的回调函数
          }
        })
      })
    },
    error: function (e) {
			    console.log(res)
    }
  })
}
export {
  wxShare
}
